package com.myjob.system.service.impl;

import java.util.List;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import com.myjob.system.mapper.BrandMapper;
import com.myjob.system.domain.Brand;
import com.myjob.system.service.IBrandService;

/**
 * 品牌Service业务层处理
 *
 * @author shopgoods
 * @date 2024-11-22
 */
@Service
public class BrandServiceImpl extends ServiceImpl<BrandMapper, Brand> implements IBrandService
{
    @Autowired
    private BrandMapper brandMapper;
    @Autowired
    private StringRedisTemplate redisTemplate;

    /**
     * 查询品牌
     *
     * @param brandId 品牌主键
     * @return 品牌
     */
    @Override
    public Brand selectBrandByBrandId(Integer brandId)
    {
        return brandMapper.selectById(brandId);
    }

    /**
     * 查询品牌列表
     *
     * @param brand 品牌
     * @return 品牌
     */
    @Override
    public List<Brand> selectBrandList(Brand brand)
    {
        // 创建一个QueryWrapper对象，用于构建查询条件
        QueryWrapper<Brand> queryWrapper = Wrappers.query();

        // 根据品牌名称进行模糊查询，如果品牌介绍不为空，则添加模糊查询条件
        queryWrapper.like(StringUtils.isNotEmpty(brand.getBrandText()), "brand_text", brand.getBrandText());

        // 根据品牌首字母进行模糊查询，如果品牌首字母不为空，则添加模糊查询条件
        queryWrapper.like(StringUtils.isNotEmpty(brand.getBrandInitial()), "brand_initial", brand.getBrandInitial());

        // 根据品牌排序字段进行精确查询，如果品牌排序字段不为空，则添加精确查询条件
        queryWrapper.eq(StringUtils.isNotEmpty(brand.getBrandSort()), "brand_sort", brand.getBrandSort());

        // 按品牌排序字段降序排列
        queryWrapper.orderByAsc("brand_sort");

        // 执行查询，获取品牌列表
        List<Brand> brands = brandMapper.selectList(queryWrapper);

        //返回品牌列表
        return brands;
    }



//    /**
//     * 新增品牌
//     *
//     * @param brand 品牌
//     * @return 结果
//     */
//    @Override
//    public int insertBrand(Brand brand)
//    {
//        return brandMapper.insertBrand(brand);
//    }
//
//    /**
//     * 修改品牌
//     *
//     * @param brand 品牌
//     * @return 结果
//     */
//    @Override
//    public int updateBrand(Brand brand)
//    {
//        return brandMapper.updateBrand(brand);
//    }

//    /**
//     * 批量删除品牌
//     *
//     * @param brandIds 需要删除的品牌主键
//     * @return 结果
//     */
//    @Override
//    public int deleteBrandByBrandIds(Integer[] brandIds)
//    {
//        return brandMapper.deleteBrandByBrandIds(brandIds);
//    }

//    /**
//     * 删除品牌信息
//     *
//     * @param brandId 品牌主键
//     * @return 结果
//     */
//    @Override
//    public int deleteBrandByBrandId(Integer brandId)
//    {
//        return brandMapper.deleteBrandByBrandId(brandId);
//    }

    /**
     * 更新品牌状态
     * @param brand
     * @return
     */
    @Override
    public int updateBrandStatusData(Brand brand) {
        int i = brandMapper.updateBrandStatusData(brand);
        return i;
    }
}
